System and method for automated production of buildings and building components

ABSTRACT

An automated manufacturing system and method is provided. The system includes a software system and a production system. The software system includes a design module, an engineering module, and a manufacturing module for the design, engineering, and subsequent production of a prefabricated building product. The production system includes a matrix of cells and a plurality of robotic production units configurable with a plurality of production tools. The matrix includes a number of columns and a number of rows, each column representing a product to be worked on and each row representing a type of work to be performed on each product. The system processes a building model and configures each cell to perform specific work with one or more robotic production units and one or more production tools. A prefabricated building product is built in stages as it moves from cell to cell.

PRIORITY NOTICE

The present application claims priority to U.S. Provisional PatentApplication with Ser. No. 63/049,684, filed on Jul. 9, 2020, thedisclosure of which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

This invention relates to a framework, system, and method for masscustomizable production of prefabricated building structures, includingan automated and configurable production system for prefabricatedbuildings or prefabricated building components.

BACKGROUND

This section starts with an overview of current needs and challenges inthe building industry regarding the workforce needed, constructionproductivity and safety, as well as building waste. It will continuewith several examples of projects that have employed off-sitemanufacturing technologies and advanced wood material systems to addressthose challenges. Specifically, a lack of computational design tools andverified modes of automated construction for architects are discussed.

Nearly 1.7 million households in Canada need housing that meets thestandards of eitheradequacy, affordability, or sustainability(Statistics Canada, 2017). In delivering these needs, the buildingindustry faces production challenges. A labor force larger than eightythousand workers is expected to be required by 2028 to keep pace withthe demand and to replace retirees in the building industry (Build ForceCanada, 2019). The shortage in workforce availability contributes to anever-increasing cost of labor, thereby playing a significant role in theeconomics of construction projects. Ecologically, material debris andcarbon footprint of conventional cement-based construction mandatesignificant improvements in ways of producing buildings. Construction isalso reported as the deadliest workplace across Canada, with 217fatalities and more than twenty-five thousand lost-time claims in 2017alone (AWCBC, 2019). The building industry can benefit from theimplementation of fully automated manufacturing and technology adoptionto address the above-mentioned concerns.

Factory-built housing, such as prefab, modular, panelized, precast,etc., and mass customization approaches integrate and enhance the designand production process of buildings. This is mainly because of theflexible adoption of automation technologies, utilization of computersoftware, and process optimization in terms of material use andworkforce in a manufacturing atmosphere.

Historically, the prefabricated kit houses became of interest in thefirst half of the 20^(th) century in North America, where more than 2000homes, on average, were sold yearly through mail order from 1908 to 1940(Sear Homes, 2012). Another example includes the prefabricated housesusing steel frames that were a response to the shortage of homes afterWorld War II in the United States (Lukas, 2001). The Future Home projectin Spain (1998) implemented integrated approaches for producing modularbuilding components. This was done using planned robotic erection,off-site prefabrication, and on-site automated assembly of theprefabricated parts (Balaguer, 2003).

Several successful attempts in the past decade have demonstrated theapplicability of robotics and wood materials in automating andstreamlining the construction supply chain. Composite woods, such asCross Laminated Timber (CLT), have become a primary building materialbecause of mechanical strength, ease of processing, and environmentalbenefits.

Manufactured housing, robotic technologies, and wood material haveplayed an increasingly larger role to address fragmentation issues incurrent manually driven construction processes. However, the buildingindustry has not yet fully benefited from the potential opportunitiesthat computational technologies and ecofriendly material systems canunlock.

First, architects and engineers need a coherent approach and designtools in using such material systems and production methods tovisualize, verify, and validate their customized designs beforeconstruction. Second, the complexity of technology implementation,ambiguity of production costs, and doubts about quality assurance makeplayers in the AEC industry reluctant in utilizing such systems in theirdesign and construction processes. Third, there is no successfulsolution for full automation of the fabrication of building parts. Thisis especially due to the challenge of integrating mechanical,electrical, and plumbing elements at the manufacturing level. As aresult, existing solutions are limited to production of semi-assembledbuilding parts (e.g., interior walls) that need to be manually assembledonsite.

There are a number of software platforms in the Architecture,Engineering, and Construction (AEC) industry. These range from tools forthe design of geometrical objects to the engineering analyses andconstruction management of a project. However, a gap remains in thesoftware implementation of automated off-site production processes.Building Information Modeling (BIM) tools contain a building asset'sgeometry, material, and lifecycle information, and these tools mayprovide the digital information needed to plan and fabricate buildingparts through automation. However, there is a need for computationaltools and flexible methods to effectively and efficiently communicateand integrate the conceptual design phases of digital models to theproduction processes of manufacturing settings.

Accordingly, there is a need for an automated manufacturing system thataccounts for the problems with existing manufacturing systems.

SUMMARY

According to some aspects of the present invention, a mass customizableproduction system for prefabricating buildings or building components isprovided. In some exemplary embodiments, such system may include one ormore production cells, each production cell configurable with one ormore robotic units adapted to use one or more tools to form at least acomponent associated with a product for a prefabricated building orbuilding component. The system may also include a software system incommunication with the one or more robotic units used by the one or moreproduction cells. The software system may be adapted to: generate aproduction matrix including parametric data of one or more componentsrequired to build the product based at least in part on an informationmodel associated with the product; sort the one or more production cellsin a sequence suitable for building the product based at least in parton the production matrix, including assigning to the one or moreproduction cells work to be performed to form the one or morecomponents, and one or more tools to perform the work; and control theone or more robotic units based at least in part on the parametric dataof the one or more components to build the product.

In some exemplary embodiments, the software system is further adapted toreconfiguring at least one of the one or more production cells, byassigning to the at least one of the one or more production cells a newwork to perform on a different component of the product or on acomponent of a new product, using the one or more tools or a new tool toperform the new work.

According to one aspect, one or more embodiments are provided below foran automated system comprising a plurality of production cells, a firsttrack extending to a first production cell within the plurality ofproduction cells and a second track extending to a second productioncell within the plurality of production cells, a first roboticproduction unit adapted to move along the first track to the firstproduction cell, a second robotic production unit adapted to move alongthe second track to the second production cell, a first toolconfigurable with the first robotic production unit and adapted toperform first work within the first production cell, a second toolconfigurable with the second robotic production unit and adapted toperform second work within the second production cell, and a softwaresystem configured to control the movement of the first production unitto the first production cell and the movement of the second productionunit to the second production cell, to control the first tool to performthe first work within the first production cell, and to control thesecond tool to perform the second work within the second productioncell, wherein the first tool and the first work and the second tool andthe second work are chosen based at least in part on an informationmodel processed by the software system. In some embodiments, generatingthe production matrix includes decomposing the information modelassociated with the product into the parametric data of the one or morecomponents required to build the product.

In some embodiments, generating the production matrix includesdecomposing the information model associated with the product to extractthe parametric data of the one or more components required to build theproduct.

In some embodiments, the software system is further configured toreceive user input concerning parametric data of the one or morecomponents. In some embodiments, the software system is furtherconfigured to generate the information model.

In some exemplary embodiments, the parametric data of the one or morecomponents include at least one or more of: a material of a component ora material of a component of a component; a geometry of the component ora geometry of the component of the component; and a reference point ofthe component or a reference point of the component of the component.

In some embodiments, the sequence of production cells suitable forbuilding the product comprises of a group of production cells that areselected out of sequence or a group of production cells that areselected in sequential order.

In some embodiments, the software system includes a design module, anengineering module, and a manufacturing module adapted to process theinformation model.

In some embodiments, the software system is further configured togenerate the information model.

In some embodiments, the system includes a design module, an engineeringmodule, and a manufacturing module adapted to process the informationmodel.

In some embodiments, the system is configured to control a firstdelivery of first raw materials to the first production cell and asecond delivery of second raw materials to the second production cell.

In some embodiments, the first track and the second track are configuredabove the plurality of production cells and the first robotic productionunit is suspended from the first track and the second robotic productionunit is suspended from the second track.

In some embodiments, the first work and/or second work include at leastone of sorting, processing, assembling, and painting.

In some embodiments, the first tool and/or the second tool include toolspertaining to at least one of material handling, milling, cutting,fastening, and spraying.

In some embodiments, the first work and/or the second work are performedon a prefabricated building product including at least one of exteriorwalls, interior walls, floors, ceilings, structural components, caseworkkits, bathroom kits, vertical connections, and building accessories.

According to some aspects of the present invention, a method, performedby a mass customizable production system configured for prefabricatingbuildings or building components, is provided. In some exemplaryembodiments, the method may include the steps of: receiving orgenerating an information model associated with a product forprefabricating a building or building component; generating a productionmatrix including parametric data of one or more components required tobuild the product based at least in part on the information model;sorting one or more production cells in a sequence suitable for buildingthe product based at least in part on the production matrix, includingselectively assigning to the one or more production cells work to beperformed to form the one or more components, and one or more tools toperform the work, wherein each of the one or more production cells isconfigurable with one or more robotic units adapted to use the one ormore tools; and controlling the one or more robotic units based at leastin part on the parametric data of the one or more components to buildthe product.

According to another aspect, one or more embodiments are provided belowfor a method for automated manufacturing comprising providing aplurality of production cells, providing a first track extending to afirst production cell within the plurality of production cells and asecond track extending to a second production cell within the pluralityof production cells, suspending a first robotic production unit from thefirst track and a second robotic production unit from the second track,by one or more computer systems, processing an information model, by theone or more computer systems and based at least in part on theinformation model, determining first work to be performed within thefirst production cell and second work to be performed within the secondproduction cell, by the one or more computer systems, determining afirst tool to configure with the first robotic production unit toperform the first work, and a second tool to configure with the secondrobotic production unit to perform the second work, by the one or morecomputer systems, controlling the first robotic production unit to moveto the first production cell and the second robotic production unit tomove to the second production cell, configuring the first roboticproduction unit with the first tool and the second robotic productionunit with the second tool, by the one or more computer systems,controlling the first robotic production unit to perform the first work,and by the one or more computer systems, controlling the second roboticproduction unit to perform the second work.

In some exemplary embodiments, the method may further includereconfiguring at least one of the one or more production cells, byassigning to the at least one of the one or more production cells a newwork to perform on a different component of the product or on acomponent of a new product, using the one or more tools or a new tool toperform the new work.

In some exemplary embodiments, generating the production matrix includesdecomposing the information model associated with the product to extractthe parametric data of the one or more components required to build theproduct.

In some exemplary embodiments, the method further includes receivinguser input concerning the parametric data of the one or more components.

In some exemplary embodiments, the sequence of cells suitable forcreating the product comprises of a group of production cells that areselected out of sequence or a group of production cells that areselected in sequential order.

In some exemplary embodiments, generating the information model isachieved at least in part by a design module.

In some exemplary embodiments, the step of assigning the work to beperformed to form the product is achieved by a manufacturing module.

In some exemplary embodiments, the method further comprises determiningfirst raw materials for the first work and second raw materials for thesecond work and delivering the first raw materials to the firstproduction cell and the second raw materials to the second productioncell.

In some exemplary embodiments, the one or more computer systems includesa design module, an engineering module, and a manufacturing moduleadapted to process the information model.

In some exemplary embodiments, the first track and the second track areprovided above the plurality of production cells.

In some exemplary embodiments, the first work and/or the second work areperformed on a prefabricated building product including at least one ofexterior walls, interior walls, floors, ceilings, structural components,casework kits, bathroom kits, vertical connections, and buildingaccessories.

In some exemplary embodiments, the method further comprises moving theprefabricated building product to the first production cell.

In some exemplary embodiments, the method further comprises moving theprefabricated building product from the first production cell to thesecond production cell.

In some exemplary embodiments, the first work and/or the second workinclude at least one of sorting, processing, assembling, and painting.

In some exemplary embodiments, the first tool and/or the second toolinclude tools pertaining to at least one of material handling, milling,cutting, fastening, and spraying.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects, features, and characteristics of the present invention aswell as the methods of operation and functions of the related elementsof structure, and the combination of parts and economies of manufacture,will become more apparent upon consideration of the followingdescription and the appended claims with reference to the accompanyingdrawings, all of which form a part of this specification. None of thedrawings are to scale unless specifically stated otherwise.

FIG. 1 shows an overview schematic of an automated manufacturing systemin accordance with exemplary embodiments hereof;

FIGS. 2-3 show exemplary schematics of a manufacturing facility inaccordance with exemplary embodiments hereof;

FIG. 4 shows aspects of a production cell in accordance with exemplaryembodiments hereof;

FIG. 5 shows a materials delivery schematic within an automatedmanufacturing system in accordance with exemplary embodiments hereof;

FIG. 6 shows a schematic of adjacent production cells within amanufacturing or mass customizable production facility in accordancewith exemplary embodiments hereof;

FIG. 7 shows example workflow actions taken by an automated masscustomizable production system in accordance with exemplary embodimentshereof;

FIG. 8 shows aspects of a plurality of production cells in accordancewith exemplary embodiments hereof;

FIGS. 9-10 show aspects of manufacturing tools in accordance withexemplary embodiments hereof;

FIG. 11 shows a schematic representation of a Building Information Model(BIM) for an exemplary product in accordance with exemplary embodimentshereof;

FIG. 12 shows a schematic representation of the sorting of thecomponents based on the BIM of FIG. 11 in accordance with exemplaryembodiments hereof;

FIG. 12A shows a schematic flowchart of a method performed by a masscustomizable production system in accordance with exemplary embodimentshereof;

FIG. 12B shows a schematic representation of the production matrix forone of the components used to create the product discussed withreference to FIG. 12A, in accordance with exemplary embodiments hereof;

FIG. 12C-FIG. 12E shows exemplary data structures that may be used by asoftware system in accordance with one exemplary embodiment of thepresent invention;

FIG. 12F shows a schematic representation of a production matrix inaccordance with one exemplary embodiment of the present invention;

FIG. 12G shows a schematic representation of a plurality of productionscells in accordance with one exemplary embodiment of the presentinvention;

FIG. 12H shows a schematic representation of a plurality of productionscells in accordance with one exemplary embodiment of the presentinvention;

FIG. 13 shows aspects of production cells in accordance with exemplaryembodiments hereof;

FIG. 14 shows an example workflow flowchart of a manufacturing facilityin accordance with exemplary embodiments hereof; and

FIG. 15 depicts aspects of computing and computer devices in accordancewith exemplary embodiments hereof.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

As used herein, unless used otherwise, the following terms andabbreviations have the following meanings:

The term “item” will mean any physical product that may be formed orotherwise produced by the system.

The term “work to be performed” or simply “work” will mean any actionstaken by the system during the production or forming of an item.

In general, the system according to exemplary embodiments hereof,provides a system and method for automated manufacturing. The automatedmanufacturing system provides a plurality of software tools, roboticmanufacturing tools, and other tools as necessary to facilitate thedesign, engineering, and production of a wide variety of items.

In some embodiments as shown in FIG. 1 , the system 10 includes asoftware system 100 and a production system 200. In general, thesoftware system 100 provides the tools to facilitate the design andengineering of an item P, and to control the production system 200 forthe subsequent manufacturing of the item P. The system 10 also mayinclude other elements as required for the system 10 to perform itsfunctionalities.

For the purposes of the specification, the system 10 will first bedescribed in terms that may apply to the production of any item P. Thespecification then will provide a use case describing the use of thesystem 10 to produce prefabricated buildings or building components andthe elements that comprise such buildings or building components. Insome exemplary embodiments, the prefabricated building may be aprefabricated home and examples below may illustratively refer to ahome, but a person of ordinary skill in the art will understand thatother types of buildings and structures that may be prefabricated may beachieved with the present invention, including, without limitation anytype of structure with a roof and walls, such as a house, school, store,or factory, or any type of residential structure or commercial structureor industrial structure or components to build the same. Moreover, it isunderstood that the system 10 may be applied to any industry to produceany type of item and that the scope of the system 10 is not limited inany way by the type(s) of item(s) that it may be configured to produce.

In some embodiments, the software system 100 includes a design module102, an engineering module 104, and a manufacturing module 106. Inaddition, the production system 200 may include at least one productionfacility 202 including one or more production cells 204, each equippedwith one or more robotic production units 206 each reconfigurablyequipped with specific tooling 208. This will be described in detail inother sections.

In some embodiments, the design module 102 includes tools to generate,manage and/or otherwise implement building information models (BIMs) forthe items P to be produced. The BIMs may be imported and/or acquired bymeasurement, assessment, and/or categorization of the items P. The BIMsmay include digital representations of the physical form-related and/orfunctional characteristics of each item P including geometry- andmaterial-related data. In this way, a user of the system 10 may utilizeand interact with the BIMs (through use of the module 102) to visualize,simulate, design, generate, modify, customize, and ultimately providegeometric models of the items P to the engineering 104 and manufacturingmodules 106 for the subsequent production of the items P.

In some embodiments, the engineering module 104 receives the productionmodels for the items P from the design module 102 and analyzes themodels to ensure adherence to predetermined engineering requirements(e.g., mechanical requirements, structural requirements, thermal/energyrequirements, material requirements, functional requirements, etc.). Insome cases, this may involve modifying the models accordingly, eitherautomatically or thorough interaction with the user.

Once the models are deemed ready for production, the engineering module104 may determine and/or optimize the robotic production unit(s) 206and/or the tooling 208 necessary to produce the items P within aparticular production cell 204. This may include equipping theproduction cell 204 and/or the robotic production unit(s) with sensors,such as, but not limited to, vision, image, position, and other types ofsensors. This also may include simulating the kinematics of the tools208 for use with a corresponding robotic production unit 206 within theproduction cells 204 as described below.

In some embodiments, the manufacturing module 106 receives informationregarding the item models, the production cell(s) 204, the roboticproduction unit(s) 104, the tooling 106, and the materials, anddigitally simulates the production process accordingly. Themanufacturing module 106 may provide and/or calculate the requiredspatial dimensions of each production cell 204, collision detection ofthe robotic production unit(s), the raw material data (e.g., the cost,weight, size, shape, etc.) of each item P, and the running time of eachspecific production process. The manufacturing module 106 utilizes thisdata to verify the production process for each cell 102, to manage theacquisition and inventory levels of the raw materials, and to coordinatethe completion and subsequent delivery of the finished items P. In thisway, the manufacturing module 106 generally provides the users of thesystem 10 with the tools necessary to visualize and manage the overallproduction process.

In some embodiments as shown in FIGS. 2-3 , the manufacturing system 200may be represented as a plurality of production cells 204 within theproduction facility 202, with each cell 204 customizable for the work tobe performed within that cell 204. FIG. 2 shows a facility layoutincluding a generally rectilinear matrix and FIG. 3 shows a facilitylayout including a semi-circular matrix (with each product P1-P4 passingthrough distinct concentric production paths). It is understood that thefacility layout may include any suitably shaped matrix and that thescope of the system 10 is not limited in any way by the shape of thefacility's layout.

In some embodiments, a production cell 204 may include at least onerobotic production unit 206 (see FIG. 1 ). The cell 204, and the roboticproduction unit 206, may be product-neutral until assigned a specificitem P to be worked on and the specific work to be performed on thatitem P. Accordingly, until the assignment is made, the roboticproduction unit 206 may not yet be equipped with the specific tooling208 needed to perform a specific production task. As described above,the assignment may be made by the engineering module 104 in conjunctionwith a Building Information Model and other elements of the softwaresystem 100.

Once the assignment is made, the robotic production unit 206 within thecell 204 may be equipped with the required tooling 208 (preferably inreal time). As shown in FIG. 4 , the system 10 also may provide the cell204 with the raw materials M required to work on the item P. Moreover,raw materials M may be continually provided throughout and at eachproduction cell during the entire production process for a particularitem P. In some embodiments, the raw materials M may be provided to thecell 204 from any direction and/or orientation. For example, the system10 may provide the raw materials M1 from the left, raw materials M2 fromthe front, raw materials M3 from the top, raw materials M4 from theright, raw materials M5 from the bottom, and raw materials M6 from theback. In some exemplary embodiments, to achieve providing raw materialsto a production cell, a toolpath may be determined between a rawmaterial source and the production cell to which the raw materials areassigned to using techniques such as, but not limited to, CAD to pathtechniques, which consider the spatial configuration of the targetproduction cell and parametric data concerning the raw materials, suchas size, shape, dimensions, etc.

Prior to, during, and/or in parallel with the providing of the rawmaterials M to a cell 204, the system 10 may control the roboticproduction unit(s) 206 to perform the work. As described above, theseactions may be automated and controlled by the software system 100.Accordingly, it is seen that each production cell 102 is configured toperform particular work on a particular item P when the work is needed(preferably in real time). Given this, a production cell 204 that isconfigured and utilized to perform particular work on a particular itemP1 at a first moment in time may be reconfigured (in real time) toperform different work on a different item P2 at a second moment intime. This is in contrast to rigid production lines that sit idle whenthe work within each line is completed.

In some embodiments as shown in FIG. 5 , the robotic production units206 include n-axis robots, where n may equal any number. In someembodiments, the robotic production units 206 include 6-axis and/or7-axis robots. The 6-axis robots may preferably be configured to move inthe X, Y, and Z planes, as well as to position themselves using roll,pitch, and yaw movements. The 7-axis robots may preferably be configuredto include an “elbow movement” which changes only the robot's elbowangle without affecting the position or posture of the tool.

In some embodiments, the robotic production units 206 are suspended froman upper portion (e.g., the ceiling) of the production facility 202. Inthis way, the units 206 may access the production cells 204 from above.The robotic units 206 are preferably configured with a track andhydraulic pull cylinders or other type of guidance system that enablesthe units 206 to travel to any necessary location within the productionfacility 202 in order to perform any work as required. In this way, eachunit 206 may be programmed and controlled to interface with anyproduction cell 204 without occupying the floorspace of the facility202. It is preferable that the movements and the actions taken by therobotic production units 206 be managed, implemented, and generallycontrolled by the software system 100.

As shown in FIG. 5 , an item P may receive first work at a first cell204-1 from a first robotic production unit 206-1 using a first tool208-1. The item P may then move to a second cell 204-2 to receive secondwork from a second robotic production unit 206-2 using a second tool208-2. The process may continue with the item P moving to an nth cell204-n to receive nth work from an nth robotic production unit 206-nusing an nth tool 208-n. In this way, as the item P moves from cell 204to cell 204, it may receive additional work until the item P iscompleted.

FIG. 6 depicts another example of an item P moving from a first cell204-1 to receive first work using one or more first tools 208-1, to asecond cell 204-2 to receive work using a second tool 208-2, to a thirdcell 204-3 to receive work using a third tool 208-3, and to a nth cell204-n to receive work using an nth tool 208-n. As shown, the tools 208-3may approach the product P from any direction and/or orientation (e.g.,from above, from one or more sides, from below, etc.).

As described above, in preparation for this process, each cell 204 maybe assigned an item P, the work to be performed on the item P, and thenecessary robotic production unit 206 and tooling 208 needed to performthe work. The system 10 may then provide these elements, along with theraw materials, to the cells 204 so that the work may be completed. Atthe completion of the work, the cells 204 may be reconfigured withdifferent robotic production units 206 and different tooling 208 toperform different work on different items P (preferably in real time).In this way, each cell 204 may be immediately reconfigurable for newwork thereby eliminating idle downtime and making the most use of anavailable production cell.

In some embodiments as shown in FIG. 7 , once the design module 102, theengineering module 104, and the manufacturing module 106 have eachcompleted their core competences, one or more of these software modulesof the system 10 may perform the following actions 300 for eachproduction cell 204:

-   -   302: Identify the item P to be worked on within the cell 204;    -   304: Identify the work to be performed (the robotic application)        on the selected item P;    -   306: Identify the raw materials M needed;    -   308: Acquire and move the raw materials M to the cell 204;    -   310: Identify each robotic production unit 206 and the required        tooling 208 needed to perform the work (for the robotic        application(s));    -   312: Equip each robot production unit 206 with the required        tooling 208;    -   314: Move the robotic production unit 206 to the cell (if not        already there);    -   316: Control the robotic production unit 206 to perform the        work;    -   318: Move the product P to a next cell 204 (or stay in the same        cell) and repeat actions 302-316; and    -   320: Once completed, move the completed items P from the cell(s)        204 for delivery.

It is understood that the actions 300 described above are meant fordemonstration and that other actions may be taken in addition to thoselisted. It also is understood that not all of the actions need be taken.It also is understood that the scope of the system 10 is not limited inany way by the actions described herein or otherwise that it may takewhile performing its functionalities.

Various embodiments and details of the system 10 will next be describedby way of several detailed examples. The examples provided below arechosen to illustrate various embodiments and implementations of thesystem 10, and those of ordinary skill in the art will appreciate andunderstand, upon reading this description, that the examples are notlimiting and that the system 10 may be used in different ways. It alsois understood that details of different embodiments described indifferent examples may be combined in any way to form additionalembodiments that are all within the scope of the system 10.

Use Case: Prefabricated Homes

FIG. 8 depicts an exemplary schematic of an automated manufacturingsystem 10 configured (preferably in real time) to produce prefabricatedhomes and the components that comprise such homes. As shown, theproduction facility 202 is represented as a plurality of productioncells 204, with each cell 204 assigned an item P to work upon and thework to be performed. The items P to be worked upon (also referred to asthe production lines) are listed in the column headings and may include(without limitation):

-   -   1. Exterior walls;    -   2. Interior walls;    -   3. Floors and ceilings;    -   4. Structural elements (e.g., columns, beams, framing, etc.);    -   5. Casework kits;    -   6. Bathroom kits;    -   7. Vertical connections (stairs, cores, atriums);    -   8. Building accessories; and    -   9. Other categories.

In addition, the geometry—and material-related data from the BIMmodels—also may be collected and/or created, either automatically orthrough interaction with the user, for the following loadable buildingelements: (i) mechanical, (ii) electrical, (iii) plumbing, (iv) steelreinforcements, (v) insulations, (vi) windows, (vii) doors, (viii)fixtures, (ix) rails, and others.

In some embodiments, the work (also referred to as the roboticapplications) that may be applied to the items P are listed in the rowheadings and may include (without limitation):

-   -   1. Raw material acquisition;    -   2. Automated material flow;    -   3. Processing/fabrication (e.g., 3D printing, milling, cutting,        thermoforming, fibrous composites, etc.);    -   4. Painting;    -   5. Steel joints assembly;    -   6. Windows and doors assembly;    -   7. Mechanical assembly;    -   8. Electrical assembly;    -   9. Plumbing assembly;    -   10. Chunk assembly (digital and manual);    -   11. Material flow;    -   12. Transportation platform; and    -   13. Other work.

In some embodiments as shown in FIG. 9 , the work to be performed on theabove items P may be categorized into four main categories including(without limitation): (i) material flow, (ii) processing/fabricating,(iii) assembling, and (iv) painting, and the robotic production units206 may be equipped with one or more of the following tooling 208(without limitation): (i) material handling, (ii) milling, (iii)cutting, (iv) fastening, and (v) spraying. Note that the examples abovegenerally pertain to wood-based items P, and that additional categoriesof work and additional associated tooling 208 may be provided dependingon the materials used.

Table 1 below cross references example work to be performed and therespective necessary tooling 208 for an exemplary prefabricated homemanufacturing system 10.

TABLE 1 Work to be performed: Robotic Head Tool(s) 208 Needed: Materialflow Material handing Processing/fabricating Material handling MillingCutting Assembling Material handling Fastening

FIG. 10 depicts and Table 2 below cross references the robotic headtools 208 with the raw materials typically utilized during therespective work.

TABLE 2 Robotic Head Tools 208: Raw materials worked with: Materialhanding Wood sticks Windows and doors Assembled parts Wood andinsulation boards Plumbing elements Steel reinforcements Mechanicalelements Electrical elements Milling Wood sticks Wood boards Wood solidsCutting Wood sticks Wood boards Fastening Mechanical - threaded andnailing Chemical - gluing and taping Spraying Paint coating Paintcoloring

FIG. 11 shows a schematic representation of a Building Information Model(BIM) for an exemplary product P including components A-K:P=A+B+C+D+E+F+G+H+I+J+K

The different components may correspond to different components that maybe required to build a product. For example, and without limiting thescope of the present invention, FIG. 11 may show a building or portionof a building product such as wall containing components and elements.In such a case, the product P is a wall 1100, which comprises of avariety of components A-K, including tiling A, drywalling B, framing C,sheathing D, air barrier E, window F, door G, rigid insulation H,strapping I, plumbing J, and electrical wiring K. Each component mayhave one or more elements, and depending on the complexity of elements,each element may have sub-elements. As will be explained further below,software system 100 may be configured to receive or generate aninformation model, for example a BIM that includes the design of eachproduct P including the components and elements of product P. Inexemplar embodiments, based on this BIM, and data that may be receivedconcerning the materials that will be used to build product P, system100 may be configured to generate a product matrix that includesparametric data on each of the elements and sub-elements, to use thatinformation to control robotic units that will build the product P.

Examples of elements may include, without limitation or withoutdeviating from the scope of the present invention, the following:

Tiling A may include elements such as a plurality of individual tiles a₁. . . a_(n) that make up the tiling—these may be different types oftiles or similar tiles depending on the characteristics of the tiling A.In some exemplary embodiments, the type of tile including its size andmaterial may be supplied to system 10 via user entry or data received bysoftware system 100.

Drywalling B may include sub-elements such as a gypsum board b₁ . . .b_(n) that makes up the drywall—there may be additional sub elements oronly a single sub element, depending on the characteristics of thedrywall B. In some exemplary embodiments, the type of drywall includingits size, shape, material, and other attributes may be supplied tosystem 10 via user entry or data received by software system 100.

Framing C may include elements such as studs c₁ and other sub elementssuch as nails, screws, plates, headers, rafters, girders, etc. . . .c_(n) that makes up the frame of the wall 1100. In some exemplaryembodiments, the type of framing including elements and sub elementsizes, shapes, materials, and other attributes may be supplied to system10 via user entry or data received by software system 100.

Sheathing D, may include elements such as a plywood board d₁ and othersub elements d_(n) that makes up the sheathing—there may be additionalsub elements or only a single sub element, depending on thecharacteristics of the sheathing D, e.g. nails, glues, etc. In someexemplary embodiments, the type of sheathing including sub elementsizes, shapes, materials, and other attributes may be supplied to system10 via user entry or data received by software system 100.

Air barrier E may include elements such as a house wrap sheet e₁ andother sub elements e_(n) that makes up the air barrier—there may beadditional sub elements, e.g., tapes, or only a single sub element,depending on the characteristics of the air barrier E. In some exemplaryembodiments, the type of air barrier including element and sub element,e.g., tape, sizes, shapes, materials, and other attributes may besupplied to system 10 via user entry or data received by software system100.

Window F may include elements such as a window glass f₁ and other subelements f_(n) that makes up the window. In some exemplary embodiments,the type of window including element and sub element, e.g., screw,sizes, shapes, materials, and other attributes may be supplied to system10 via user entry or data received by software system 100.

Door G may include elements such as a door g₁ door frame g₂ and otherelements g_(n) that makes up the door. In some exemplary embodiments,the type of door including elements and sub element, e.g., screw, sizes,shapes, materials, and other attributes may be supplied to system 10 viauser entry or data received by software system 100.

Rigid insulation H may include elements such as foamboard h₁ and othersub elements h_(n), that makes up the rigid insulation. In someexemplary embodiments, the type of rigid insulation including elementsizes, shapes, materials, and other attributes may be supplied to system10 via user entry or data received by software system 100.

Strapping I may include elements such as a woodstrip i₁ and otherelements i_(n) that make up the strapping. In some exemplaryembodiments, the type of strapping including elements and sub element,e.g., nail, sizes, shapes, materials, and other attributes may besupplied to system 10 via user entry or data received by software system100.

Plumbing J may include elements such as a pipes j₁ and other elementsj_(n) that makes up the plumbing. In some exemplary embodiments, thetype of plumbing including elements and sub element, e.g., couplingconnector, sizes, shapes, materials, and other attributes may besupplied to system 10 via user entry or data received by software system100.

Electrical wiring K may include elements such as a conduit k₁ and othersub elements k_(n) that makes up the electrical wiring. In someexemplary embodiments, the type of electrical wiring including elementsand sub element, e.g., wire, sizes, shapes, materials, and otherattributes may be supplied to system 10 via user entry or data receivedby software system 100.

FIG. 12 shows a schematic representation of the sorting of thecomponents A (a1, a2, a3, etc.), B (b1, b2, b3, etc.), C (c1, c2, c3,etc.), D (d1, d2, d3, etc.), E (e1, e2, e3, etc.), F (f1, f2, f3, etc.),G (g1, g2, g3, etc.), H (h1, h2, h3, etc.), I (i1, i2, i3, etc.), J (j1,j2, j3, etc.), and K (k1, k2, k3, etc.) for a product P.

Turning now to the next figure, FIG. 12A shows a schematic flowchart ofa method performed by a mass customizable production system inaccordance with exemplary embodiments of the present invention. Morespecifically, method 1200 is illustrated. Although method 1200 is shownin a particular sequence of steps for illustrative purposes, a person ofordinary skill in the art will appreciate that some of these steps mayand additional or less steps, may be performed in a similar oralternative sequence without deviating from the scope of the presentinvention.

In step 1201, software system 100 receives an information modelassociated with a product 1210 such as a building or building component.In some exemplary embodiments, the information model may be receivedfrom a third party or from some other aspect of system 10. For example,and without limiting the scope of the present invention, in someembodiments, the information model is generated at least in part bydesign module 102.

In step 1202, software system 100 generates a production matrixincluding parametric data of one or more items 1211 and 1212 required tobuild the product 1210 based at least in part on the information model.The parametric data typically includes parameters of the variouselements of each item, such as items 1211 and 1212. The parameters mayinclude parameters such as reference points for each element, forexample a center point of an element; the parameters may include edgeconditions of an element—whether the element has curves, straight edges,etc.; the parameters may include material information about the element,such as whether the element comprises of wood, or even the type of wood,the condition of the wood, etc.; or the parameters may include any otherinformation that facilitates production of product P includingfacilitation of handling elements and sub elements necessary to buildproduct P.

To retrieve as much information about product P, and to facilitateallocation of work and tools to fabricate product P and any component orelement used to build product P, this step may include decomposing theproduct. For example, and without limiting the scope of the presentinvention, step 1202 may include decomposing a product 1210, such as abuilding, into several products required to build the building, such asfloors 1211 and walls 1212, based on the information model associatedwith building 1210. In this step, software system 100 may sort thecomponents of the floors 1211 in a manner much like the sorting of thecomponents in reference to FIG. 12 , in which each of the components issorted with their respective elements and sub elements. Similarly, inthis step, software system 100 may similarly sort the components,elements, and sub elements of the walls 1212.

In exemplary embodiments, parametric data of the floors 1211 and walls1212 required to build building 1210 includes the geometry of each ofthe elements and sub elements or sets of elements and sub elementsrequired to build the floors 1211 and walls 1212. For example, thegeometry of a gypsum board, the geometry of nails, screws, plates,headers, rafters, girders, etc. Similarly, parametric data of the floors1211 and walls 1212 may include a center point or reference point of agypsum board, a plate, headers, rafters, girders, etc. Similarly,parametric data of the floors 1211 and walls 1212 may include an edgecondition of a gypsum board, a plate, headers, rafters, girders, etc.This information may be used by software system 100 to facilitatecontrol of the robotic units 206 when handling the elements during theconstruction or fabrication process.

In step 1203, software system 100 may sort a plurality of the productioncells in a sequence suitable for creating the product 1210 based atleast in part on the production matrix generated in step 1202. This stepmay include selectively assigning to one or more cells (see FIG. 4 , forexample) of a plurality of production cells (see FIG. 8 , for example)(i) work to be performed to form the product or component thereof (forexample one of the walls 1212) and one or more tools to perform thework. As mentioned above, each production cell of the plurality ofproduction cells may be configurable with at least one robotic unitadapted to use one or more tools to form an item such as one or morecomponents of wall 1212, associated with the product 1210. In exemplaryembodiments, the step of assigning the work to be performed to form theproduct is achieved by engineering module 104.

As discussed further below, the work to be performed to form the itemmay include any type of work that is necessary in the fabricationprocess, including, but not limited to, sorting, processing, assembling,painting, or any other type of function that may be necessary or usefulin the fabrication process. Similarly, a variety of tools may beimplemented without deviating from the scope of the present invention,including as mentioned above, tools pertaining to at least one ofmaterial handling, milling, cutting, fastening, and or spraying.

In step 1204, software system 100 may control the one or more roboticunits 204 used by the plurality of production cells based at least inpart on the parametric data of the one or more items to build theproduct 1210. Although in this example wall 1212 is illustrated, theproduct may include exterior walls, interior walls, floors, ceilings,structural elements, casework kits, bathroom kits, vertical connections,building accessories, or any other type of product suitable forfabrication using system 10.

FIG. 12B shows a schematic representation of the production matrix forone of the elements used to create the product discussed with referenceto FIG. 12A. More specifically, this view shows a schematicrepresentation of a production matrix 1214 for wall 1212. In this view,it may be appreciated that a production matrix generated by system 10typically includes the components and elements of an item, in this caseof wall 1212. System 10, or rather software system 100 of system 10,utilizes the production matrix to assign the work and tools to one ormore of the production cells.

In this case, by way of illustrating an example and without limiting thescope of the present invention, software system 100 breaks down ordecomposes each of the components and elements of wall 1212 to accountfor the same when assigning the work to be performed on a particularitem and the tools to be used for performing the work. Here, theelements illustratively include frame component 1221 and its elements1221 a, 1221 b, 1221 c, and 1221 d; sheath component 1222 and itselements 1222 a, 1222 b, 1222 c, and 1222 d; insulation component 1223and its elements 1223 a, 1223 b, 1223 c, and 1223 d; strap component1224 and its elements 1224 a, 1224 b, 1224 c, and 1224 d; and drywallcomponent 1225 and its elements 1225 a, 1225 b, 1225 c, and 1225 d.System 10 may receive this information from the information modelassociated with the product to be produced—in this example product1210—and in addition, some of the information may be received from userinput, such as input received from receipt of materials, including thewood, metals, and other components received for the fabrication process.

Turning now to the next set of figures, FIG. 12C-FIG. 12E show exemplarydata structures that may be used by a software system in accordance withthe present invention. More specifically, FIG. 12C illustrates anexemplary matrix decomposition of a production matrix for an item suchas a wall; FIG. 12D is an exemplary factor of the production matrix 1230shown in the matrix decomposition of FIG. 12C; and FIG. 12E includes aset of definitions for work 1233 to be performed on the items indicatedin the production matrix 1230, and a set of definitions for tools 1235to be used to perform the work on the items indicated in the productionmatrix 1230.

For example, and without limiting the scope of the present invention,production matrix 1230 may comprise a product of the various assignmentsof work and tools to the various production cells for the various itemsthat may be fabricated during a production sequence for a particularproduct. With reference to FIG. 12D, a single row array may be used toindicate that: an item (i) 1231 (for example a wall) will be worked onin a particular production cell VIII (such as the production cellillustrated in FIG. 4 ), the work will be performed specifically on thecomponent (c) 1232 of the item (i) (such as the insulation of the wall),the tools (t) 1235 to be used to perform the work, and the robotic unit(r) 1234 assigned to the production cell VIII to work on item 1231. Inthis case, using FIG. 12E as the exemplary set of definitions for work1233 to be performed on the items indicated in the production matrix1230 and the set of definitions for tools 1235 to be used to perform thework on the items indicated in the production matrix 1230, indicate thatsoftware system 100 has assigned production cell VIII to work on theinsulation of a wall, performing a task 1235 (e.g., sorting, assembling,fabricating) using tools 1236 (e.g., handling) of a robotic unit.

FIG. 12F shows a schematic representation of a production matrix 1237 inaccordance with the present invention. More specifically, a lineargraphical model of a matrix productions is shown in this view, in whichproduction cells I-XI have been assigned to work on items in a linearconfiguration. However, as will be shown in the next several exemplaryviews, a single production cell and/or various linear and non-linearseries of production cells may be employed to maximize use of space in afacility, and efficient use of available resources of the productioncells of system 10.

Turning first to FIG. 12G, a portion of a plurality of production cellsshows a schematic representation of exemplary production lines 1241 and1242 that utilize non-linear paths D-E-C, and D-A, respectively, tocreate items 1 and 2, respectively. In an exemplary embodiment, forexample, software system 100 may assign work to be performed to formitem 1, and the tools to perform the work to form item 1 to productioncell D, then, assign additional work to be performed to form item 1, andthe tools to perform the additional work to form item 1 to productioncell E, and then similarly make the assignment to production cell Cuntil production of item 1 is completed. Simultaneously, subsequently,or previously, software system 100 can also assign work to be performedto form item 2, and the tools to perform the work to form item 2 toproduction cell D and then similarly make the assignment to productioncell A to create item 2. Notably, a product may be build using a singleproduction cell, which may or may not be reconfigured; that is, a singleproduction cell may be reconfigured with different robotic units andused continuously after reconfiguration. Moreover, and as will beillustrated with reference to the following figure, the sequence ofproduction cells suitable for building an item or product may comprisesof a single production cell, a group of production cells that areselected out of sequence, or a group of production cells that areselected in sequential order, such that a so-called “production line” ofone or more production cells assigned to build a particular product maycomprise of a linear or non-linear production line.

Turning next to FIG. 12H another embodiment is shown in which theproduction cells are not necessarily organized in a linear manner, forexample in rows and columns, but rather spread out to make use of aspace within a facility. In this exemplary embodiment, each of theplurality of production cells 1240 are spatially spread throughout afacility, each production cell represented by a different shape—such asa square, hexagon, triangle, circle, or eclipse—to illustrate that eachproduction cell may be configured and reconfigured to have differentspatial qualities depending on the robotic units and or tools assignedto the production cell for a particular project. In the exemplaryillustrated embodiment, the production cells I-VI may have beensequentially or simultaneously assigned to multiple production lines(i.e., for production of item 1 and production of item 2). In the shownembodiment, production line 1241 to produce item 1 may employ productioncells IV then V then III; while production line 1242 to produce item 2may employ production cells IV then I. In some exemplary embodiments, aproduction cell may be used for multiple steps of the production processand may be reconfigured with different tools before each step. In thisway, the present system is more efficient and in contrast to rigidproduction lines that sit idle when the work within each line iscompleted. By being able to assign different production cells taking updifferent spaces in a facility to the production of one or moreproducts, the facility space may be better used; in combination to thereconfigurability of each production cell with various robotic units andor tools to perform an assigned task, the facility is configurable tomass produce highly customizable products and make highly efficient useof each production cell.

Taking the production of the walls as a specific example as shown inFIG. 13 , a series of product-neutral cells 204 and associatedproduct-neutral robotic production units 206 may be assigned andconfigured (e.g., with specific tooling 208) to perform the followingwork 400 in a single cell or as the walls move from one cell 204 to thenext.

-   -   402: Framing processing/assembly;    -   404: Mechanical processing/assembly;    -   406: Electrical processing/assembly;    -   408: Plumbing processing/assembly;    -   410: Metal reinforcements assembly;    -   412: Windows and doors assembly;    -   414: Barriers assembly;    -   416: Finishing boards processing/assembly; and    -   418: Fixtures assembly.

It is understood that the actions 400 described above are meant fordemonstration and that other actions may be taken in addition to thoselisted. It also is understood that not all of the actions need be taken.It also is understood that the scope of the system 10 is not limited inany way by the actions described herein or otherwise that it may takewhile performing its functionalities.

Accordingly, in some exemplary embodiments, system 10 may includeplurality of production cells 204, each production cell configurablewith at least one robotic unit 206 adapted to use one or more tools 208to form an element associated with a product P for a prefabricated home.System 10 further includes software system 100, which is incommunication with one or more robotic units 206 used by the pluralityof production cells 204.

The software system 100 typically includes executable instructionswithin one or more dedicated modules configured for a variety of tasks,including but not limited to generating information models, analyzinginformation models, modifying information models, determining work to beperformed by one or more production cells of the plurality of productioncells 204, determining one or more tools to perform the work,selectively assigning to one or more production cells of the pluralityof production cells work to be performed, selectively assigning to oneor more production cells of the plurality of production cells one ormore tools to perform the work, and or sorting (i.e., arrangesystematically in groups) a plurality of cells in a sequence suitablefor creating a product for a prefabricated home based on an informationmodel.

In exemplary embodiments, software system 100 is configured to—based onan information model associated with a product—selectively assign to oneor more cells of the matrix production cells 204 work to be performed toform the element, and one or more tools to perform the work, wherein theplurality of production cells 204 is defined by the software system 100as a number of columns, each column representing the element to beworked on, and a number of rows, each row representing a type of work tobe performed on the element. Moreover, software system 100 is furtherconfigured to sort a plurality of cells in a sequence suitable forcreating the product for the prefabricated home based on the informationmodel.

In some exemplary embodiments, the sequence of cells suitable forcreating the product for the prefabricated home comprises of a group ofproduction cells that are selected out of sequence—see for example FIG.12 . In some exemplary embodiments, the sequence of cells suitable forcreating the product for the prefabricated home comprises of a group ofproduction cells that are selected in sequential order—see for example,FIG. 11 .

The assignment of work and tools to a particular cell for a particularcomponent and element or sets of component and element used to create aproduct, and further the sorting—or systematic arrangement or assignmentof work to a single or group of production cells—facilitates a masscustomizable production line; this means that products that are highlycustomizable, may be none the less mass produced due to the highlycustomizable selection of tools and work flow that system 10 is able toachieve by way of software system 100's interaction with the pluralityof production cells 204. In this way, even prefabricated homes may thatare highly customizable may be mass produced.

To facilitate automation, software system 100 is configured tocommunicate with one of the production cells 204 by way of communicatingwith one or more components thereof. For example, and without limitingthe scope of the present invention, software system 100 may communicatewith one or more robotic units 206. As such, software system 100 may beconfigured to control movement of a robotic unit to a production cellassigned to perform work on the element and or control a tool assignedto the robotic unit to perform the work to form an element or product.

FIG. 14 shows a workflow schematic for the system 10 and its use inproducing one or more products P (e.g., prefabricated homes). In someembodiments, the following acts 500 may be performed by the system 10,with or without manual interaction from an operator(s). The process maybegin at 502, a products list of available products to be produced maybe provided (at 504), and a product may be selected (at 506). If aperformant BIM is available at 508, the files may be uploaded (at 510)and the digital information may be provided to the Products ComponentsDecomposition module at 512. If, however, a performant BIM is notavailable at 508, the digital information may be provided by theProducts Components Decomposition module at 512, digitally modeled at514, uploaded at 510 and provided back to the Products ComponentsDecomposition module at 512.

At 516, the Products Components Decomposition module may provide thedigital information (e.g., the BIM) to the Robotics Applications Toolingmodule, which may in turn, at 518, inform the Robotics Programmingmodule. At 520, the Robotics Programming module may in turn inform theRobotics Function List. At 522, the Robotics Function List informationmay be passed to the Cell(s) 204 and run through a Simulator module at526. The resulting simulation may be used to inform a Machine Learningmodule at 528 which may in turn provide learned information to aProducts Elements Sorting module at 530. The Products Elements Sortingmodule may inform the Products Components Decomposition module, theRobotics Programming module, and/or the Cell(s) 204 with updatedinformation accordingly.

At 532, if the resulting the simulation is accepted, the process maymove into production of the product P at 534. If, however, thesimulation is not accepted at 532, the simulation information may besent to the Products Components Decomposition module for the process torepeat and for the information to be refined at 516. This process maycontinue until the resulting simulation is accepted at 532.

Once the product P is produced, if the product P is not to be deliveredat 536, the process may end at 544. If, however, the product P is to bedelivered at 536, the delivery may occur at 538. Then, if additionalinstallation is required at 540, the installation may occur at 542,after which the process may end at 544.

It is understood that the workflow described above is meant fordemonstration and that other actions not described by the system alsomay be performed, not all the actions may be performed, and/or theactions may be performed in other orders.

In some embodiments, the actions 502-512 may be implemented within aDesign/Order Zone of the system 10, actions 516-524 may be implementedwithin an Engineering Zone of the system 10, and the actions 528-544 maybe implemented within a Manufacturing/Delivery Zone of the system 10.

It is understood that any aspect and/or element of any of theembodiments described herein or otherwise may be combined in any way toform new embodiments easily understood by a person of ordinary skill inthe art. Those of ordinary skill in the art will appreciate andunderstand, upon reading this description, that embodiments hereof mayprovide different and/or other advantages, and that not all embodimentsor implementations need have all advantages.

Computing

The services, mechanisms, operations and acts shown and described aboveare implemented, at least in part, by software running on one or morecomputers or computer systems or devices. It should be appreciated thateach user device is, or comprises, a computer system.

Programs that implement such methods (as well as other types of data)may be stored and transmitted using a variety of media (e.g., computerreadable media) in a number of manners. Hard-wired circuitry or customhardware may be used in place of, or in combination with, some or all ofthe software instructions that can implement the processes of variousembodiments. Thus, various combinations of hardware and software may beused instead of software only.

One of ordinary skill in the art will readily appreciate and understand,upon reading this description, that the various processes describedherein may be implemented by, e.g., appropriately programmed generalpurpose computers, special purpose computers and computing devices. Oneor more such computers or computing devices may be referred to as acomputer system.

FIG. 15 is a schematic diagram of a computer system 600 upon whichembodiments of the present disclosure may be implemented and carriedout.

According to the present example, the computer system 600 includes a bus602 (i.e., interconnect), one or more processors 604, one or morecommunications ports 614, a main memory 606, removable storage media610, read-only memory 608, and a mass storage 612. Communication port(s)614 may be connected to one or more networks by way of which thecomputer system 600 may receive and/or transmit data.

As used herein, a “processor” means one or more microprocessors, centralprocessing units (CPUs), computing devices, microcontrollers, digitalsignal processors, or like devices or any combination thereof,regardless of their architecture. An apparatus that performs a processcan include, e.g., a processor and those devices such as input devicesand output devices that are appropriate to perform the process.

Processor(s) 604 can be (or include) any known processor, such as, butnot limited to, an Intel® Itanium® or Itanium 2® processor(s), AMD®Opteron® or Athlon MP® processor(s), or Motorola® lines of processors,and the like. Communications port(s) 614 can be any of an RS-232 portfor use with a modem-based dial-up connection, a 10/100 Ethernet port, aGigabit port using copper or fiber, or a USB port, and the like.Communications port(s) 614 may be chosen depending on a network such asa Local Area Network (LAN), a Wide Area Network (WAN), a CDN, or anynetwork to which the computer system 600 connects. The computer system600 may be in communication with peripheral devices (e.g., displayscreen 616, input device(s) 618) via Input/Output (I/O) port 620. Someor all of the peripheral devices may be integrated into the computersystem 600, and the input device(s) 618 may be integrated into thedisplay screen 610 (e.g., in the case of a touch screen).

Main memory 610 can be Random Access Memory (RAM), or any other dynamicstorage device(s) commonly known in the art. Read-only memory 608 can beany static storage device(s) such as Programmable Read-Only Memory(PROM) chips for storing static information such as instructions forprocessor(s) 604. Mass storage 612 can be used to store information andinstructions. For example, hard disks such as the Adaptec® family ofSmall Computer Serial Interface (SCSI) drives, an optical disc, an arrayof disks such as Redundant Array of Independent Disks (RAID), such asthe Adaptec® family of RAID drives, or any other mass storage devicesmay be used.

Bus 602 communicatively couples processor(s) 604 with the other memory,storage and communications blocks. Bus 602 can be a PCI/PCI-X, SCSI, aUniversal Serial Bus (USB) based system bus (or other) depending on thestorage devices used, and the like. Removable storage media 610 can beany kind of external hard-drives, floppy drives, IOMEGA® Zip Drives,Compact Disc-Read Only Memory (CD-ROM), Compact Disc-Re-Writable(CD-RW), Digital Versatile Disk-Read Only Memory (DVD-ROM), etc.

Embodiments herein may be provided as one or more computer programproducts, which may include a machine-readable medium having storedthereon instructions, which may be used to program a computer (or otherelectronic devices) to perform a process. As used herein, the term“machine-readable medium” refers to any medium, a plurality of the same,or a combination of different media, which participate in providing data(e.g., instructions, data structures) which may be read by a computer, aprocessor, or a like device. Such a medium may take many forms,including but not limited to, non-volatile media, volatile media, andtransmission media. Non-volatile media include, for example, optical ormagnetic disks and other persistent memory. Volatile media includedynamic random access memory, which typically constitutes the mainmemory of the computer. Transmission media include coaxial cables,copper wire and fiber optics, including the wires that comprise a systembus coupled to the processor. Transmission media may include or conveyacoustic waves, light waves and electromagnetic emissions, such as thosegenerated during radio frequency (RF) and infrared (IR) datacommunications.

The machine-readable medium may include, but is not limited to, floppydiskettes, optical discs, CD-ROMs, magneto-optical disks, ROMs, RAMs,erasable programmable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), magnetic or optical cards,flash memory, or other type of media/machine-readable medium suitablefor storing electronic instructions. Moreover, embodiments herein mayalso be downloaded as a computer program product, wherein the programmay be transferred from a remote computer to a requesting computer byway of data signals embodied in a carrier wave or other propagationmedium via a communication link (e.g., modem or network connection).

Various forms of computer readable media may be involved in carryingdata (e.g., sequences of instructions) to a processor. For example, datamay be (i) delivered from RAM to a processor; (ii) carried over awireless transmission medium; (iii) formatted and/or transmittedaccording to numerous formats, standards, or protocols; and/or (iv)encrypted in any of a variety of ways well known in the art.

A computer-readable medium can store (in any appropriate format) thoseprogram elements that are appropriate to perform the methods.

As shown, main memory 610 is encoded with application(s) 622 thatsupport(s) the functionality as discussed herein (an application 622 maybe an application that provides some or all of the functionality of oneor more of the mechanisms described herein). Application(s) 622 (and/orother resources as described herein) can be embodied as software codesuch as data and/or logic instructions (e.g., code stored in the memoryor on another computer readable medium such as a disk) that supportsprocessing functionality according to different embodiments describedherein.

During operation of one embodiment, processor(s) 604 accesses mainmemory 610 via the use of bus 602 in order to launch, run, execute,interpret or otherwise perform the logic instructions of theapplication(s) 622. Execution of application(s) 622 produces processingfunctionality of the service(s) or mechanism(s) related to theapplication(s). In other words, the process(es) 624 represents one ormore portions of the application(s) 622 performing within or upon theprocessor(s) 604 in the computer system 600.

It should be noted that, in addition to the process(es) 624 thatcarries(carry) out operations as discussed herein, other embodimentsherein include the application 622 itself (i.e., the un-executed ornon-performing logic instructions and/or data). The application 622 maybe stored on a computer readable medium (e.g., a repository) such as adisk or in an optical medium. According to other embodiments, theapplication 622 can also be stored in a memory type system such as infirmware, read only memory (ROM), or, as in this example, as executablecode within the main memory 610 (e.g., within Random Access Memory orRAM). For example, application 622 may also be stored in removablestorage media 610, read-only memory 608, and/or mass storage device 612.

Those of ordinary skill in the art will understand that the computersystem 600 can include other processes and/or software and hardwarecomponents, such as an operating system that controls allocation and useof hardware resources.

As discussed herein, embodiments of the present invention includevarious steps or operations. A variety of these steps may be performedby hardware components or may be embodied in machine-executableinstructions, which may be used to cause a general-purpose orspecial-purpose processor programmed with the instructions to performthe operations. Alternatively, the steps may be performed by acombination of hardware, software, and/or firmware. The term “module”refers to a self-contained functional component, which can includehardware, software, firmware, or any combination thereof.

One of ordinary skill in the art will readily appreciate and understand,upon reading this description, that embodiments of an apparatus mayinclude a computer/computing device operable to perform some (but notnecessarily all) of the described process.

Embodiments of a computer-readable medium storing a program or datastructure include a computer-readable medium storing a program that,when executed, can cause a processor to perform some (but notnecessarily all) of the described process.

Where a process is described herein, those of ordinary skill in the artwill appreciate that the process may operate without any userintervention. In another embodiment, the process includes some humanintervention (e.g., a step is performed by or with the assistance of ahuman).

As used in this description, the term “portion” means some or all. So,for example, “A portion of X” may include some of “X” or all of “X”. Inthe context of a conversation, the term “portion” means some or all ofthe conversation.

As used herein, including in the claims, the phrase “at least some”means “one or more,” and includes the case of only one. Thus, e.g., thephrase “at least some ABCs” means “one or more ABCs”, and includes thecase of only one ABC.

As used herein, including in the claims, the phrase “based on” means“based in part on” or “based, at least in part, on,” and is notexclusive. Thus, e.g., the phrase “based on factor X” means “based inpart on factor X” or “based, at least in part, on factor X.” Unlessspecifically stated by use of the word “only”, the phrase “based on X”does not mean “based only on X.”

As used herein, including in the claims, the phrase “using” means “usingat least,” and is not exclusive. Thus, e.g., the phrase “using X” means“using at least X.” Unless specifically stated by use of the word“only”, the phrase “using X” does not mean “using only X.”

In general, as used herein, including in the claims, unless the word“only” is specifically used in a phrase, it should not be read into thatphrase.

As used herein, including in the claims, the phrase “distinct” means “atleast partially distinct.” Unless specifically stated, distinct does notmean fully distinct. Thus, e.g., the phrase, “X is distinct from Y”means that “X is at least partially distinct from Y,” and does not meanthat “X is fully distinct from Y.” Thus, as used herein, including inthe claims, the phrase “X is distinct from Y” means that X differs fromY in at least some way.

As used herein, including in the claims, a list may include only oneitem, and, unless otherwise stated, a list of multiple items need not beordered in any particular manner. A list may include duplicate items.For example, as used herein, the phrase “a list of XYZs” may include oneor more “XYZs”.

It should be appreciated that the words “first” and “second” in thedescription and claims are used to distinguish or identify, and not toshow a serial or numerical limitation. Similarly, the use of letter ornumerical labels (such as “(a)”, “(b)”, and the like) are used to helpdistinguish and/or identify, and not to show any serial or numericallimitation or ordering.

No ordering is implied by any of the labeled boxes in any of the flowdiagrams unless specifically shown and stated. When disconnected boxesare shown in a diagram the activities associated with those boxes may beperformed in any order, including fully or partially in parallel.

While the invention has been described in connection with what ispresently considered to be the most practical and preferred embodiments,it is to be understood that the invention is not to be limited to thedisclosed embodiments, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

What is claimed is:
 1. An automated manufacturing system comprising: amatrix of production cells; a first production cell within the matrix ofproduction cells and a second production cell within the matrix ofproduction cells; a first robotic production unit adapted to move to thefirst production cell or to the second production cell; a second roboticproduction unit adapted to move to the first production cell or to thesecond production cell; a first tool configurable with the first roboticproduction unit and with the second robotic production unit; a secondtool configurable with the first robotic production unit and with thesecond robotic production unit; and a software system configured toprocess an information model of a product, and based at least in part onthe information model, to sort the first production cell and the secondproduction cell in a sequence suitable for building the product, and toassign first work to be performed on the product in the first productioncell by the first robotic production unit using the first tool andsecond work to be performed on the product in the second production cellby the second robotic production unit using the second tool.
 2. Theautomated manufacturing system of claim 1 wherein the software system isfurther configured to control movement of the first production unit tothe first production cell and/or the movement of the second productionunit to the second production cell.
 3. The automated manufacturingsystem of claim 1 wherein the software system is further configured tocontrol the first tool to perform the first work within the firstproduction cell, and/or to control the second tool to perform the secondwork within the second production cell.
 4. The automated manufacturingsystem of claim 1 wherein the software system is further configured tocontrol movement of the product from the first production cell to thesecond production cell.
 5. The automated manufacturing system of claim 1wherein the software system is further configured to control a firstdelivery of first raw materials to the first production cell and asecond delivery of second raw materials to the second production cell.6. The automated manufacturing system of claim 1 further comprising afirst track leading to the first production cell and a second trackleading to the second production cell, and wherein the first roboticproduction unit and the second robotic production unit are eachconfigured to move to the first production cell along the first trackand/or to the second production cell along the second track.
 7. Theautomated manufacturing system of claim 6 wherein the first track andthe second track are configured above the matrix of production cells andthe first robotic production unit and the second robotic production unitare each suspended from the first track or from the second track.
 8. Theautomated manufacturing system of claim 1 wherein the first work and/orthe second work are performed on a prefabricated building productincluding at least one of exterior walls, interior walls, floors,ceilings, structural elements, casework kits, bathroom kits, verticalconnections, and building accessories.
 9. The automated manufacturingsystem of claim 1 wherein the first work and/or the second work includeat least one of sorting, processing, assembling, and painting.
 10. Theautomated manufacturing system of claim 1 wherein the first tool and/orthe second tool include tools pertaining to at least one of materialhandling, milling, cutting, fastening, and spraying.
 11. A method forautomated manufacturing comprising: (A) providing a first productioncell within a matrix of production cells and a second production cellwithin the matrix of production cells; (B) providing a first roboticproduction unit adapted to move to the first production cell or to thesecond production cell, and a second robotic production unit adapted tomove to the first production cell or to the second production cell; (C)providing a first tool configurable with the first robotic productionunit and with the second robotic production unit, and a second toolconfigurable with the first robotic production unit and with the secondrobotic production unit; (D) using a software system to process aninformation model of a product; (E) based at least in part on theinformation model processed in (D), using the software system to: (F)sort the first production cell and the second production cell in asequence suitable for building the product; (G) assign first work to beperformed in the first production cell by the first robotic productionunit using the first tool; and (H) assign second work to be performed inthe second production cell by the second robotic production unit usingthe second tool.
 12. The method of claim 11 further comprising: (I)using the software system to control movement of the first productionunit to the first production cell and/or the movement of the secondproduction unit to the second production cell.
 13. The method of claim12 further comprising: (J) using the software system to control thefirst tool to perform the first work within the first production cell,and/or the second tool to perform the second work within the secondproduction cell.
 14. The method of claim 12 further comprising: (J)using the software system to control the first tool to perform the firstwork within the first production cell; (K) moving the product from thefirst production cell to the second production cell; (L) using thesoftware system to control the second tool to perform the second workwithin the second production cell.
 15. The method of claim 13 whereinthe first work and/or the second work are performed on a prefabricatedbuilding product including at least one of exterior walls, interiorwalls, floors, ceilings, structural elements, casework kits, bathroomkits, vertical connections, and building accessories.
 16. The automatedmanufacturing system of claim 15 wherein the first work and/or thesecond work include at least one of sorting, processing, assembling, andpainting.
 17. The method of claim 13 wherein the first tool and/or thesecond tool include tools pertaining to at least one of materialhandling, milling, cutting, fastening, and spraying.
 18. The method ofclaim 11 further comprising: (I) using the software system to control afirst delivery of first raw materials to the first production cell and asecond delivery of second raw materials to the second production cell.19. The method of claim 11 further comprising: (I) providing a firsttrack leading to the first production cell and a second track leading tothe second production cell; (J) configuring the first robotic productionunit with the first track and the second robotic production unit withthe second track; (K) using the software system to control movement ofthe first production unit along the first track to the first productioncell and/or the movement of the second production unit along the secondtrack to the second production cell.
 20. The method of claim 19 whereinthe first track and the second track are configured above the matrix ofproduction cells and the first robotic production unit is suspended fromthe first track and the second robotic production unit is suspended fromthe second track.